package com.s6.other;

import java.util.Arrays;

public class LowercaseFirst {

	public static void main(String[] args) {

		char[] chars = { 'D', 'a', 'F', 'B', 'c', 'A', 'z' };
		sort(chars);
		System.out.println(Arrays.toString(chars));
	}

	private static void sort(char[] chars) {
		int i = 0;
		int j = chars.length - 1;

		// 用两个指针a、b：a指针从头开始往后遍历，遇到大写字母就停下，b从后往前遍历，遇到小写字母就停下，交换a、b指针对应的元素；重复如上过程，直到a、b指针相交。
		char tempChar;
		while (i != j) {
			if (!Character.isUpperCase(chars[i])) {
				i++;
				continue;
			}
			if (!Character.isLowerCase(chars[j])) {
				j--;
				continue;
			}
			tempChar = chars[i];
			chars[i] = chars[j];
			chars[j] = tempChar;
		}
	}

}
